package cn.dz.mystring.heima03;

import java.util.Scanner;

/**
 * @ClassName StringTest03
 * @package: cn.dz.mystring.heima03
 * @Description TODO
 * @Author dz
 * @Date 2025/2/5 17:17
 * @Version 1.0
 *
 * 需求：
 *     键盘录入一个字符串，使用程序实现在控制台遍历该字符串
 *
 *     思路：
 *         1:键盘录入一个字符串，用 Scanner 实现
 *         2:遍历字符串，首先要能够获取到字符串中的每一个字符
 *             public char charAt(int index)：返回指定索引处的char值，字符串的索引也是从0开始的
 *         3:遍历字符串，其次要能够获取到字符串的长度
 *             public int length()：返回此字符串的长度
 *             数组的长度：数组名.length
 *             字符串的长度：字符串对象.length()
 *         4:遍历字符串的通用格式
 **/
public class StringTest03 {
    public static void main(String[] args) {
        //键盘录入一个字符串,用Scanner实现
        Scanner sc = new Scanner(System.in);

        System.out.println("请输入一个字符串：");
        String line = sc.nextLine();

        //要统计三种类型的字符个数，需定义三个统计变量，初始值都为0
        int bigCount = 0;
        int smallCount = 0;
        int numberCount = 0;
        // 遍历字符串,得到每一个字符
        for (int i = 0; i < line.length(); i++) {
            char ch = line.charAt(i);

            //判断该字符属于哪种类型，然后对应类型的统计变量+1
            if(ch >= 'A' && ch <= 'Z') {
                bigCount++;
            } else if (ch >= 'a' && ch <= 'z') {
                smallCount++;
            } else if (ch >= '0' && ch <= '9') {
                numberCount++;
            }
        }
        //输出三种类型的字符个数
        System.out.println("大写字母:" + bigCount + "个");
        System.out.println("小写字母:" + smallCount + "个");
        System.out.println("数字:" + numberCount + "个");
    }
}
